#include <sched.h>
#include <sys/mman.h>
#include <stdlib.h>
#include <stdio.h>

//锁定进程的内存地址
void lock_memory()
{
    if (mlockall(MCL_CURRENT | MCL_CURRENT) == -1)
    {
        perror("mlockall");
        exit(-1);
    }
}

/**
 * @brief 设置调用线程的调度策略以及优先级
 * 
 * @param policy 0:SCHED_OTHER 1:SCHED_FIFO 2:SCHED_RR
 * @param prio 优先级：1～99
 */
void set_sched(int policy, int prio)
{
    struct sched_param sParam;
    sParam.sched_priority = prio;
    if(sched_setscheduler(0, policy, &sParam) == -1)
    {
        perror("sched_setscheduler");
        exit(-1);
    }
}


